package com.tbit.uqbike.service.business;

import com.tbit.common.entity.pojo.dto.BarChartDispatchLogDTO;
import com.tbit.common.entity.pojo.vo.DateResult;
import com.tbit.common.entity.vo.MainLogAuditBatchVo;
import com.tbit.common.entity.vo.MainLogAuditVo;
import com.tbit.uqbike.object.pojo.dto.WorkOrderLogQueryDTO;
import com.tbit.uqbike.object.pojo.statistics.DispatchLog;
import com.tbit.uqbike.object.pojo.statistics.ExportPowerLog;
import com.tbit.uqbike.object.value.LoginInfo;

import java.util.List;

/**
 * @Author: chen
 * @Description: 调度记录
 * @Date: 创建于 11:18 2020/3/13
 */
public interface DispatchLogService {

    /**
     * 调度次数日期统计
     */
    List<List<DateResult>> statisticsByTime(BarChartDispatchLogDTO barChartDispatchLogDTO);

    /**
     * 调度记录统计详细
     */
    List<DispatchLog> queryPage(WorkOrderLogQueryDTO queryDTO);

    /**
     * 调度记录份分页统计总数
     *
     * @param queryDTO .
     * @return .
     */
    Integer queryCount(WorkOrderLogQueryDTO queryDTO);

    /**
     * 调度次数统计导出
     */
    List<DispatchLog> exportByTime(WorkOrderLogQueryDTO queryDTO);

    /**
     * 调度记录总览详情和导出
     */
    List<ExportPowerLog> getByType(Integer accountId, Integer accountUserId, Long startTime, Long endTime, Integer rowCount, Integer pageNO, List<Integer> regionIdList, Integer type, Integer machineType);

    /**
     * 修改调度记录审核状态
     */
    void updateAudit(MainLogAuditVo vo, LoginInfo login);

    /**
     * 批量修改调度记录审核状态
     *
     * @param vo
     * @param login
     */
    void auditOperationBatch(MainLogAuditBatchVo vo, LoginInfo login);
}
